package com.itheima.config;

import com.itheima.interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Component
public class WebConfig implements WebMvcConfigurer {

    @Autowired
    private LoginInterceptor loginInterceptor;

    //将指定拦截器添加到拦截器注册器中,并指定该拦截器的拦截路径
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        /**
         * 拦截器可以根据需求，配置不同的拦截路径：
         *  .addPathPatterns("...") 需要拦截哪些资源
         *  .excludePathPatterns("...") 不需要拦截哪些资源
         *
         *  拦截路径	含义	                举例
         *  /*	        一级路径	            能匹配/depts，/emps，/login，不能匹配 /depts/1
         * /**	        任意级路径	            能匹配/depts，/depts/1，/depts/1/2
         * /depts/*	    /depts下的一级路径	     能匹配/depts/1，不能匹配/depts/1/2，/depts
         * /depts/**	/depts下的任意级路径	能匹配/depts，/depts/1，/depts/1/2，不能匹配/emps/1
         */
        registry.addInterceptor(loginInterceptor).addPathPatterns("/**");
    }
}
